"""
静态方法 在开发时，若在类中封装一个方法，这个方法
1，既不需要访问实例属性或者调用实例方法
2，也不需要访问类属性或调用类方法
这时候我们把这个方法封装为一个静态方法

通过类名调用静态方法

在实例化对象时，是先使用__new__在内存分配一个空间，再__init__初始化属性
"""

class Dog:
    @staticmethod
    def run():

        print('小狗快跑')

Dog.run()


class Game:

    #历史最高分
    top_score = 0
    def __init__(self,player_name):
        self.player_name = player_name

    @staticmethod
    def show_help():
        print('帮助信息：让僵尸进入大门')

    @classmethod
    def show_top_score(cls):
        print(f'历史最高纪录为{cls.top_score}')

    def start_game(self):
        print(f'{self.player_name} 开始游戏了')

Game.show_help()

Game.show_top_score()

game = Game('大喜')

game.start_game()

print(dir(Game)) #
print('-'*50)
print(dir(game))  #多了个对象属性


